package com.gl.glcourses.services.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.gl.glcourses.repository.IVotacionCursoRepository;
import com.gl.glcourses.services.IVotacionCursoServices;
import com.gl.glcourses.vos.Confirmacion;
import com.gl.glcourses.vos.Curso;
import com.gl.glcourses.vos.VotacionCurso;
import com.gl.glcourses.vos.Voto;

public class VotacionCursoServices implements IVotacionCursoServices{
	
	@Autowired
	IVotacionCursoRepository repoVotacionCurso;
	
	@Override
	public List<Voto> buscarVotosdeVotacionCurso(VotacionCurso votacionCurso) throws Exception {
		
		Confirmacion confirmacion = new Confirmacion();
		
		return (List<Voto>)repoVotacionCurso.findById(votacionCurso.getId(), VotacionCurso.class);
	}

	//1era opcion
	@Override
	public Confirmacion aprobarVotacionCurso(List<VotacionCurso> votacionesCursosaAprobar) throws Exception {

		Confirmacion confirmacion = new Confirmacion();
		
			//TODO:16-6 Gustvo - Que pasa con los no aprobados
		for(VotacionCurso searchVotacionCurso : votacionesCursosaAprobar){
			repoVotacionCurso.save(searchVotacionCurso);
		}
//			confirmacion.setEstado(Constants.CONFIRMACION_OK);
//			confirmacion.setEstado(Constants.CONFIRMACION_ERROR);

		return confirmacion;
	}
	
	//2da opcion (o iria la primera o la segunda
	@Override
	public Confirmacion aprobarVotacionCurso(List<Curso> cursos, List<VotacionCurso> votacionesCursosaAprobar) throws Exception{
		
		Confirmacion confirmacion = new Confirmacion();
		
		//TODO:16-6 Gustvo - Que pasa con los no aprobados
		for(VotacionCurso searchVotacionCurso : votacionesCursosaAprobar){
			for(Curso searchCurso : cursos){
				repoVotacionCurso.save(searchVotacionCurso);
			}
		}
//			confirmacion.setEstado(Constants.CONFIRMACION_OK);
//			confirmacion.setEstado(Constants.CONFIRMACION_ERROR);

		return confirmacion;
	}
}
